package com.agileboot.attendance.common;

/**
 * 考勤系统常量类
 *
 * @author ruoyi
 */
public class AttendanceConstants {

    /**
     * 考勤状态
     */
    public static final String ATTENDANCE_STATUS_NORMAL = "0";    // 正常
    public static final String ATTENDANCE_STATUS_LATE = "1";      // 迟到
    public static final String ATTENDANCE_STATUS_EARLY = "2";     // 早退
    public static final String ATTENDANCE_STATUS_ABSENT = "3";    // 旷工
    public static final String ATTENDANCE_STATUS_LEAVE = "4";     // 请假
    public static final String ATTENDANCE_STATUS_OVERTIME = "5";  // 加班

    /**
     * 请假类型
     */
    public static final String LEAVE_TYPE_SICK = "1";     // 病假
    public static final String LEAVE_TYPE_ANNUAL = "2";   // 年假
    public static final String LEAVE_TYPE_PERSONAL = "3"; // 事假
    public static final String LEAVE_TYPE_MARRIAGE = "4"; // 婚假
    public static final String LEAVE_TYPE_MATERNITY = "5"; // 产假
    public static final String LEAVE_TYPE_OTHER = "9";    // 其他

    /**
     * 审批状态
     */
    public static final String APPROVAL_STATUS_PENDING = "0";  // 待审批
    public static final String APPROVAL_STATUS_APPROVED = "1"; // 已批准
    public static final String APPROVAL_STATUS_REJECTED = "2"; // 已拒绝

    /**
     * 加班类型
     */
    public static final String OVERTIME_TYPE_WORKDAY = "1";    // 工作日加班
    public static final String OVERTIME_TYPE_WEEKEND = "2";    // 周末加班
    public static final String OVERTIME_TYPE_HOLIDAY = "3";    // 节假日加班

    /**
     * 日期类型
     */
    public static final String DATE_TYPE_WORKDAY = "1";    // 工作日
    public static final String DATE_TYPE_WEEKEND = "2";    // 周末
    public static final String DATE_TYPE_HOLIDAY = "3";    // 节假日
    
    /**
     * 打卡类型
     */
    public static final String CLOCK_TYPE_IN = "1";    // 上班打卡
    public static final String CLOCK_TYPE_OUT = "2";   // 下班打卡
    
    /**
     * 考勤规则类型
     */
    public static final String RULE_TYPE_GLOBAL = "1";     // 全局规则
    public static final String RULE_TYPE_DEPARTMENT = "2"; // 部门规则
    
    private AttendanceConstants() {
    }
} 